<?
class Catalogo
{
	var $_id;
	var $_descripcion;
	var $_nombreTabla; 
	
	function Actualizar($id, $descripcion)
	{
		$db = new DB();
		$sql = "UPDATE ". $this->_nombreTabla ." 
				SET 
				descripcion = '". $descripcion ."'
				WHERE ". $this->ObtenerCampoId($this->_nombreTabla) ." =". $id;
		$db->Conectar();
		$db->Query($sql);
		$db->Cerrar();
		return $db->FilasAfectadas();
	}

	function Insertar($descripcion)
	{
		$db = new DB();
		$sql = "INSERT INTO ". $this->_nombreTabla ." (descripcion)
				 VALUES('". $descripcion ."')";
		$db->Conectar();
		$db->Query($sql);
		$db->Cerrar();
		return $db->FilasAfectadas();
	}
	
	function Eliminar($id)
	{
		$db = new DB();
		if($this->_nombreTabla != "carrera") 
		{
			$sql = "DELETE FROM ". $this->_nombreTabla ." 
					WHERE ". $this->ObtenerCampoId($this->_nombreTabla) ." =". $id;
		}
		else
		{
			$sql = "DELETE FROM ". $this->_nombreTabla ." 
					WHERE ". $this->ObtenerCampoId($this->_nombreTabla) ." =". $id ." AND
					". $this->ObtenerCampoId($this->_nombreTabla) ." > 3";
		}
		$db->Conectar();
		@$db->Query($sql);
		$db->Cerrar();
		return $db->FilasAfectadas();
	}
	
	function Mostrar()
	{
		return "SELECT * FROM ". $this->_nombreTabla ." ORDER BY descripcion";
	}
	
	function Ver($id)
	{
		$db = new DB();
		$sql = "SELECT * FROM ". $this->_nombreTabla ." 
				WHERE ". $this->ObtenerCampoId($this->_nombreTabla) ." =". $id;
		$db->Conectar();
		$db->Query($sql);
		$row = $db->GetArray(0);
		$this->_id = $row[$this->ObtenerCampoId($this->_nombreTabla)];
		$this->_descripcion = $row["descripcion"];
		$db->Cerrar();
	}
	
	function ObtenerCampoId($tabla)
	{
		switch($tabla)
		{
			case "idioma":
				return "ididioma";
				break;
			case "habilidad":
				return "idhabilidad";
				break;
			case "carrera":
				return "idcarrera";
				break;
			case "equipo":
				return "idequipo";
				break;
			case "categoria":
				return "idcategoria";
				break;
			case "puesto":
				return "idpuesto";
				break;
			case "area_interes":
				return "idarea";
				break;
			case "esppuesto":
				return "idesppuesto";
				break;
		}
	}
}
?>